package net.lahuobao.finance.entity.accountrecord;

import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.SequenceGenerator;

/**   
 * @Title: Entity
 * @Description: 账户明细记录表
 * @author zhangdaihao
 * @date 2016-09-07 09:54:23
 * @version V1.0   
 *
 */
@Entity
@Table(name = "account_record", schema = "lahuobao")
@DynamicUpdate(true)
@DynamicInsert(true)
@SuppressWarnings("serial")
public class AccountRecordEntity implements java.io.Serializable {
	/**账户明细记录表Id*/
	private Integer accountRecordId;
	/**账户Id*/
	private Integer accountId;
	/**付方用户ID*/
	private Integer creditId;
	/**收方用户ID*/
	private Integer debitiId;
	/**订单ID*/
	private Integer orderId;
	/**操作类型：1充值(保证金)，2提现，3支付保证金，4支付货款，5支付邮寄费用，6支付保费',*/
	private Integer operateType;
	/**交易金额*/
	private BigDecimal amount;
	/**备注*/
	private String remark;
	/**status
	operateType - 1 已支付 
	operateType - 2 提现
	6 待审核, 10 待支付, 16 已支付 
	operateType - 3,4,5,6,7,8 已支付
	*/
	private Integer status;
	/**操作时间*/
	private Date operateTime;
	/**操作人ID*/
	private Integer operateId;
	/**银行付款Id*/
	private Integer payRecordId;
	/**支付宝付款流水id*/
	private Integer alipayRecordId;
	/**商城订单ID*/
	private Integer mallOrderId;
	/**支付明细ID*/
	private Integer payDetailId;
	
	/**
	 *方法: 取得java.lang.Integer
	 *@return: java.lang.Integer  账户明细记录表Id
	 */
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@Column(name ="ACCOUNT_RECORD_ID",nullable=false,precision=10,scale=0)
	public Integer getAccountRecordId(){
		return this.accountRecordId;
	}

	/**
	 *方法: 设置java.lang.Integer
	 *@param: java.lang.Integer  账户明细记录表Id
	 */
	public void setAccountRecordId(Integer accountRecordId){
		this.accountRecordId = accountRecordId;
	}
	/**
	 *方法: 取得java.lang.Integer
	 *@return: java.lang.Integer  账户Id
	 */
	@Column(name ="ACCOUNT_ID",nullable=true,precision=10,scale=0)
	public Integer getAccountId(){
		return this.accountId;
	}

	/**
	 *方法: 设置java.lang.Integer
	 *@param: java.lang.Integer  账户Id
	 */
	public void setAccountId(Integer accountId){
		this.accountId = accountId;
	}
	/**
	 *方法: 取得java.lang.Integer
	 *@return: java.lang.Integer  付方用户ID
	 */
	@Column(name ="CREDIT_ID",nullable=true,precision=10,scale=0)
	public Integer getCreditId(){
		return this.creditId;
	}

	/**
	 *方法: 设置java.lang.Integer
	 *@param: java.lang.Integer  付方用户ID
	 */
	public void setCreditId(Integer creditId){
		this.creditId = creditId;
	}
	/**
	 *方法: 取得java.lang.Integer
	 *@return: java.lang.Integer  收方用户ID
	 */
	@Column(name ="DEBITI_ID",nullable=true,precision=10,scale=0)
	public Integer getDebitiId(){
		return this.debitiId;
	}

	/**
	 *方法: 设置java.lang.Integer
	 *@param: java.lang.Integer  收方用户ID
	 */
	public void setDebitiId(Integer debitiId){
		this.debitiId = debitiId;
	}
	/**
	 *方法: 取得java.lang.Integer
	 *@return: java.lang.Integer  订单ID
	 */
	@Column(name ="ORDER_ID",nullable=true,precision=10,scale=0)
	public Integer getOrderId(){
		return this.orderId;
	}

	/**
	 *方法: 设置java.lang.Integer
	 *@param: java.lang.Integer  订单ID
	 */
	public void setOrderId(Integer orderId){
		this.orderId = orderId;
	}
	/**
	 *方法: 取得java.lang.Integer
	 *@return: java.lang.Integer  操作类型：1充值(保证金)，2提现，3支付保证金，4支付货款，5支付邮寄费用，6支付保费',
	 */
	@Column(name ="OPERATE_TYPE",nullable=false,precision=5,scale=0)
	public Integer getOperateType(){
		return this.operateType;
	}

	/**
	 *方法: 设置java.lang.Integer
	 *@param: java.lang.Integer  操作类型：1充值(保证金)，2提现，3支付保证金，4支付货款，5支付邮寄费用，6支付保费',
	 */
	public void setOperateType(Integer operateType){
		this.operateType = operateType;
	}
	/**
	 *方法: 取得BigDecimal
	 *@return: BigDecimal  交易金额
	 */
	@Column(name ="AMOUNT",nullable=false,precision=11,scale=2)
	public BigDecimal getAmount(){
		return this.amount;
	}

	/**
	 *方法: 设置BigDecimal
	 *@param: BigDecimal  交易金额
	 */
	public void setAmount(BigDecimal amount){
		this.amount = amount;
	}
	/**
	 *方法: 取得java.lang.String
	 *@return: java.lang.String  备注
	 */
	@Column(name ="REMARK",nullable=true,length=200)
	public String getRemark(){
		return this.remark;
	}

	/**
	 *方法: 设置java.lang.String
	 *@param: java.lang.String  备注
	 */
	public void setRemark(String remark){
		this.remark = remark;
	}
	/**
	 *方法: 取得java.lang.Integer
	 *@return: java.lang.Integer  status
operateType - 1 已支付 
operateType - 2 提现
6 待审核, 10 待支付, 16 已支付 
operateType - 3,4,5,6,7,8 已支付

	 */
	@Column(name ="STATUS",nullable=false,precision=5,scale=0)
	public Integer getStatus(){
		return this.status;
	}

	/**
	 *方法: 设置java.lang.Integer
	 *@param: java.lang.Integer  status
operateType - 1 已支付 
operateType - 2 提现
6 待审核, 10 待支付, 16 已支付 
operateType - 3,4,5,6,7,8 已支付

	 */
	public void setStatus(Integer status){
		this.status = status;
	}
	/**
	 *方法: 取得java.util.Date
	 *@return: java.util.Date  操作时间
	 */
	@Column(name ="OPERATE_TIME",nullable=false)
	public Date getOperateTime(){
		return this.operateTime;
	}

	/**
	 *方法: 设置java.util.Date
	 *@param: java.util.Date  操作时间
	 */
	public void setOperateTime(Date operateTime){
		this.operateTime = operateTime;
	}
	/**
	 *方法: 取得java.lang.Integer
	 *@return: java.lang.Integer  操作人ID
	 */
	@Column(name ="OPERATE_ID",nullable=false,precision=10,scale=0)
	public Integer getOperateId(){
		return this.operateId;
	}

	/**
	 *方法: 设置java.lang.Integer
	 *@param: java.lang.Integer  操作人ID
	 */
	public void setOperateId(Integer operateId){
		this.operateId = operateId;
	}
	/**
	 *方法: 取得java.lang.Integer
	 *@return: java.lang.Integer  银行付款Id
	 */
	@Column(name ="PAY_RECORD_ID",nullable=true,precision=10,scale=0)
	public Integer getPayRecordId(){
		return this.payRecordId;
	}

	/**
	 *方法: 设置java.lang.Integer
	 *@param: java.lang.Integer  银行付款Id
	 */
	public void setPayRecordId(Integer payRecordId){
		this.payRecordId = payRecordId;
	}
	/**
	 *方法: 取得java.lang.Integer
	 *@return: java.lang.Integer  支付宝付款流水id
	 */
	@Column(name ="ALIPAY_RECORD_ID",nullable=true,precision=10,scale=0)
	public Integer getAlipayRecordId(){
		return this.alipayRecordId;
	}

	/**
	 *方法: 设置java.lang.Integer
	 *@param: java.lang.Integer  支付宝付款流水id
	 */
	public void setAlipayRecordId(Integer alipayRecordId){
		this.alipayRecordId = alipayRecordId;
	}
	/**
	 *方法: 取得java.lang.Integer
	 *@return: java.lang.Integer  商城订单ID
	 */
	@Column(name ="MALL_ORDER_ID",nullable=true,precision=10,scale=0)
	public Integer getMallOrderId(){
		return this.mallOrderId;
	}

	/**
	 *方法: 设置java.lang.Integer
	 *@param: java.lang.Integer  商城订单ID
	 */
	public void setMallOrderId(Integer mallOrderId){
		this.mallOrderId = mallOrderId;
	}
	/**
	 *方法: 取得java.lang.Integer
	 *@return: java.lang.Integer  支付明细ID
	 */
	@Column(name ="PAY_DETAIL_ID",nullable=true,precision=10,scale=0)
	public Integer getPayDetailId(){
		return this.payDetailId;
	}

	/**
	 *方法: 设置java.lang.Integer
	 *@param: java.lang.Integer  支付明细ID
	 */
	public void setPayDetailId(Integer payDetailId){
		this.payDetailId = payDetailId;
	}
}
